package pers.mine.service.inter;

import java.util.List;

import pers.mine.po.GoodsGroup;
import pers.mine.po.GoodsItem;

/**
 * 商品-商品组关系 服务
 * 
 * @author Mine
 * @since 2016年11月27日_下午5:34:48
 */
public interface GroupShipService {

	/**
	 * 给指定id商品添加组映射信息
	 * 
	 * @param goodsId
	 *            商品id
	 * @param groups
	 *            商品组id
	 * @return 操作结果
	 */
	public boolean addGroupsForGoods(Integer goodsId, Integer[] groups);

	/**
	 * 删除指定商品所有映射
	 * 
	 * @param goodsId
	 *            商品id
	 * @return
	 */
	public boolean delShipByGoodsId(Integer goodsId);

	/**
	 * 删除指定商品组所有映射
	 * 
	 * @param groupId
	 *            商品组id
	 * @return
	 */
	public boolean delShipByGroupId(Integer groupId);

	/**
	 * 填充商品List 中每个商品的类型信息
	 * 
	 * @param groupId
	 *            商品组id
	 * @return 填充后的商品list
	 */
	public List<GoodsItem> fillTypeForGoodsList(List<GoodsItem> goodsList);

	/**
	 * 查询商品组id下属所有商品
	 * 
	 * @param groupId
	 *            商品组id
	 * @return
	 */
	public List<GoodsItem> findGoodsItemsByGroupId(Integer groupId);

	/**
	 * 查询指定id商品所属所有商品组
	 * 
	 * @param goodsId
	 *            商品id
	 * @return
	 */
	public List<GoodsGroup> findGroupsByGoodsId(Integer goodsId);

	/**
	 * 转换类型
	 * 
	 * @param types
	 * @return
	 */
	public String getTypeStr(List<GoodsGroup> types);
}
